﻿using System;
using System.IO;
using System.Xml.Serialization;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TP2.Lib;

namespace TP2.Persistencia
{
    public class PersistenciaXml
    {
        const string MISION_PATH = "../../Config/EstadoMision.xml";
 
        //public static void GuardarEstadoDeLaMision(Mision unaMision)
        public static void GuardarEstadoDeLaMision(ElementoJuego elemento)
        // public static void GuardarEstadoDeLaMision(Persona elemento)
        //public static void GuardarEstadoDeLaMision(TrayectoriaAbstracta elemento)
        {
            string archivo = MISION_PATH;

            XmlSerializer serializadorTest1 = new XmlSerializer(elemento.GetType());
            XmlSerializer serializadorTest2 = new XmlSerializer(elemento.GetType(), new Type[] { elemento.GetType() });
            XmlSerializer serializadorTest3 = new XmlSerializer(typeof(ElementoJuego), new Type[] { typeof(ElementoJuego) });


            using (Stream stream = File.Create(archivo))
            {
                serializadorTest1.Serialize(stream, elemento);
            }

        }
            
        #region Borrador de referencia 
        
        //private static void RecuperarAPablo(string archivo)
        //{
        //    // recuperamos a pablo del disco
        //    XmlSerializer serializer = new XmlSerializer(typeof(Persona));
        //    using (Stream stream = File.OpenRead(archivo))
        //    {
        //        Persona pablo = (Persona)serializer.Deserialize(stream);

        //        // observamos la info recuperada
        //        Console.WriteLine(pablo.Nombre);
        //        Console.WriteLine(pablo.Apellido);
        //        Console.WriteLine(pablo.Dni);
        //    }
        //}

        //private static void PersistirAPablo(string archivo)
        //{
        //    // creamos a Pablo con cierta info
        //    Persona pablo = new Persona();
        //    pablo.Nombre = "Pablo";
        //    pablo.Apellido = "Suarez";
        //    pablo.Dni = 22001122;

        //    // lo guardamos en disco
        //    XmlSerializer serializer = new XmlSerializer(pablo.GetType());
        //    using (Stream stream = File.Create(archivo))
        //    {
        //        serializer.Serialize(stream, pablo);
        //    }
        //}

#endregion


    }
}

